#ifndef _CT_SYS_H
#define _CT_SYS_H

/*****************************************************************************
 * Included Files
 ****************************************************************************/
#include "ct_type.h"

typedef enum {
    CT_FSYS_HXT = 0,    //
    CT_FSYS_LXT,
    CT_FSYS_HIRC,
    CT_FSYS_LIRC,
    CT_FSYS_PLL
} ct_fsys_mode_t;

#define CT_HIRC_24  6
#define CT_HIRC_16  7
#define CT_HIRC_166 8

/*****************************************************************************
 * Public Functions
 ****************************************************************************/

void         ct_EnableAllIntt(ct_bool bEnable);
ct_bool      ct_ReadGlobalInttStatus(void);
void         ct_delay(unsigned int ms);
void         ct_delay_us(unsigned int us);
void         ct_IncTick(void);
unsigned int ct_GetTick(void);

void ct_sys_ModifyHIRC(void);
void ct_sys_ClkSelect(ct_fsys_mode_t fsysmode);
void ct_sys_ClkEnable(ct_fsys_mode_t fsysmode);
void ct_sys_ClkDisable(ct_fsys_mode_t fsysmode);

void ct_sys_SoftReset(void);
void ct_wdt_Enable(void);
void ct_wdt_Disable(void);

#endif /* __CT_SYS_H__ */